package me.youline.dataServer.service.front;

import me.youline.dataServer.controller.dto.IdPaginationDTO;
import me.youline.dataServer.utils.IdPagination;

/**
 * id分页查询DTO转换器
 * @author linhan
 *
 */
public class IdPageDTOAdapter {

	private static final int DEFALUT_PAGESIZE = 20;
	
	public static IdPagination getPagination(IdPaginationDTO dto) {
		if (dto == null) {
			return IdPagination.getPageSizePagination(DEFALUT_PAGESIZE);
		}else if(dto.getEndId().equals(dto.getStartId())) {//针对起始与结束id相同的时候，应该创建一个只有页面大小的分页查询数据
			return IdPagination.getPageSizePagination(dto.getPageSize() == null ? DEFALUT_PAGESIZE : dto.getPageSize());
		}else {
			try {
				int pageSize = dto.getPageSize() == null ? DEFALUT_PAGESIZE: dto.getPageSize();
				return IdPagination.getCompleteIdPagination(dto.getStartId(),
						dto.getEndId(), pageSize);
			} catch (Exception e) {
				if(dto.getPageSize() != null){
					return IdPagination.getPageSizePagination(dto.getPageSize());
				}
				return IdPagination.getPageSizePagination(20);
			}
		}

	}
}
